Auto merge of #1641 - alexcrichton:update-less, r=brson
authorbors <bors@rust-lang.org>
Wed, 27 May 2015 19:03:50 +0000 (19:03 +0000)
committerbors <bors@rust-lang.org>
Wed, 27 May 2015 19:03:50 +0000 (19:03 +0000)
commitcd46b343a6bf34a4d4ae8833b8fa18ed1a300ac5
treed03a8aa2263a31ccbadddd68d481c1a964cd02c7
parent00016d6210093b62f6e1a34d6cc60f51586ad9d2
parentef8c651af1ce84ac1f4c6cc383f92a48762842b0
Auto merge of #1641 - alexcrichton:update-less, r=brson

Updating a path source can be a possibly expensive operation (lots of
directories that need to be traversed), and currently the root path source is
updated three times:

* Once when the root package is initially loaded.
* Again when the first resolution pass happens over a graph.
* Finally a third when the second resolution pass happens over the graph.

This commit pushes through the original `Source` trait object into the
`PackageRegistry` and removes the implicit call to `add_sources`, pushing that
call up to the stack a bit.